package cn.xw.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import java.io.Serializable;
import java.util.Date;

/**
 * @Auther: xiaoYang
 * @Date: 2021/4/6 12:38
 * @Description: 学生实体类
 */
//下面四个都是lombok插件注解
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@KeySequence(value = "SQL_TEST", clazz = String.class)
public class Student implements Serializable {

    //使用雪花算法生成主键  不写也是使用雪花算法
    // @TableId(type = IdType.ASSIGN_ID)
    // private Long sid;           //学生ID

    //使用了UUID（没有中横线）的方式生成主键 注意的是主键字段是varchar(32)才行
    // @TableId(type = IdType.ASSIGN_UUID)
    // private Long sid;           //学生ID

    // 对于像MySQL这样的支持主键自动递增的数据库，我们可以使用IdType.AUTO策略
    // @TableId(type = IdType.AUTO)      // 特别注意 数据库要加 auto_increment

    @TableId(type = IdType.INPUT)
    private Long sid;           //学生ID
    private String sname;       //姓名
    private String ssex;        //性别
    private Integer sage;       //年龄
    private String saddress;    //住址
    private Integer isDel;      //是否被删除 0未删除 1删除
    private Date createTime;    //数据行创建时间
    private Date updateTime;    //数据行更新时间
    private Integer version;    //版本（用于乐观锁）
}
